/*******************************************************************************
 * Copyright (c) 2000, 2003 FUJITSU LIMITED and others.
 * All rights reserved. This program and the accompanying materials 
 * are made available under the terms of the Common Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/cpl-v10.html
 * 
 * Contributors:
 *     FUJITSU LIMITED - initial implementation
 *******************************************************************************/

package org.eclipse.cobol.ui.common;

public class COBOLKeywordAnsi85
{

	public static String getName()
	{
		return "ANSI 1985";
	}

	public static String[] getReservedWords()
	{
		return RESERVED_WORDS;
	}

	public static String[] getFigurativeConstants()
	{
		return FIGURATIVE_CONSTANTS;
	}

	public static String[] getSpecialRegisters()
	{
		return SPECIAL_REGISTERS;
	}

	private static final String[] FIGURATIVE_CONSTANTS =
	{ "ALL", "LOW-VALUE", "LOW-VALUES", "HIGH-VALUE", "HIGH-VALUES", "SPACE", "SPACES", "QUOTE", "QUOTES", "ZERO",
			"ZEROS", "ZEROES" };

	private static final String[] SPECIAL_REGISTERS =
	{ "LINAGE-COUNTER", "LINE-COUNTER", "PAGE-COUNTER" };

	private static final String[] RESERVED_WORDS =
	{ "ACCEPT", "ACCESS", "ADD", "ADVANCING", "AFTER", "ALL", "ALPHABET", "ALPHABETIC", "ALPHABETIC-LOWER",
			"ALPHABETIC-UPPER", "ALPHANUMERIC", "ALPHANUMERIC-EDITED", "ALSO", "ALTER", "ALTERNATE", "AND", "ANY",
			"ARE", "AREA", "AREAS", "ASCENDING", "ASSIGN", "AT", "AUTHOR", "BEFORE", "BINARY", "BLANK", "BLOCK",
			"BOTTOM", "BY", "CALL", "CANCEL", "CD", "CF", "CH", "CHARACTER", "CHARACTERS", "CLASS", "CLOCK-UNITS",
			"CLOSE", "COBOL", "CODE", "CODE-SET", "COLLATING", "COLUMN", "COMMA", "COMMON", "COMMUNICATION", "COMP",
			"COMPUTATIONAL", "COMPUTE", "CONFIGURATION", "CONTAINS", "CONTENT", "CONTINUE", "CONTROL", "CONTROLS",
			"CONVERTING", "COPY", "CORR", "CORRESPONDING", "COUNT", "CURRENCY", "DATA", "DATE", "DATE-COMPILED",
			"DATE-WRITTEN", "DAY", "DAY-OF-WEEK", "DE", "DEBUG-CONTENTS", "DEBUG-ITEM", "DEBUG-LINE", "DEBUG-NAME",
			"DEBUG-SUB-1", "DEBUG-SUB-2", "DEBUG-SUB-3", "DEBUGGING", "DECIMAL-POINT", "DECLARATIVES", "DELETE",
			"DELIMITED", "DELIMITER", "DEPENDING", "DESCENDING", "DESTINATION", "DETAIL", "DISABLE", "DISPLAY",
			"DIVIDE", "DIVISION", "DOWN", "DUPLICATES", "DYNAMIC", "EGI", "ELSE", "EMI", "ENABLE", "END", "END-ADD",
			"END-CALL", "END-COMPUTE", "END-DELETE", "END-DIVIDE", "END-EVALUATE", "END-IF", "END-MULTIPLY",
			"END-OF-PAGE", "END-PERFORM", "END-READ", "END-RECEIVE", "END-RETURN", "END-REWRITE", "END-SEARCH",
			"END-START", "END-STRING", "END-SUBTRACT", "END-UNSTRING", "END-WRITE", "ENTER", "ENVIRONMENT", "EOP",
			"EQUAL", "ERROR", "ESI", "EVALUATE", "EVERY", "EXCEPTION", "EXIT", "EXTEND", "EXTERNAL", "FALSE", "FD",
			"FILE", "FILE-CONTROL", "FILLER", "FINAL", "FIRST", "FOOTING", "FOR", "FROM", "GENERATE", "GIVING",
			"GLOBAL", "GO", "GREATER", "GROUP", "HEADING", "HIGH-VALUE", "HIGH-VALUES", "I-O", "I-O-CONTROL",
			"IDENTIFICATION", "IF", "IN", "INDEX", "INDEXED", "INDICATE", "INITIAL", "INITIALIZE", "INITIATE", "INPUT",
			"INPUT-OUTPUT", "INSPECT", "INSTALLATION", "INTO", "INVALID", "IS", "JUST", "JUSTIFIED", "KEY", "LABEL",
			"LAST", "LEADING", "LEFT", "LENGTH", "LESS", "LIMIT", "LIMITS", "LINAGE", "LINAGE-COUNTER", "LINE",
			"LINE-COUNTER", "LINES", "LINKAGE", "LOCK", "LOW-VALUE", "LOW-VALUES", "MEMORY", "MERGE", "MESSAGE",
			"MODE", "MODULES", "MOVE", "MULTIPLE", "MULTIPLY", "NATIVE", "NEGATIVE", "NEXT", "NO", "NOT", "NUMBER",
			"NUMERIC", "NUMERIC-EDITED", "OBJECT-COMPUTER", "OCCURS", "OF", "OFF", "OMITTED", "ON", "OPEN", "OPTIONAL",
			"OR", "ORDER", "ORGANIZATION", "OTHER", "OUTPUT", "OVERFLOW", "PACKED-DECIMAL", "PADDING", "PAGE",
			"PAGE-COUNTER", "PERFORM", "PF", "PH", "PIC", "PICTURE", "PLUS", "POINTER", "POSITION", "POSITIVE",
			"PRINTING", "PROCEDURE", "PROCEDURES", "PROCEED", "PROGRAM", "PROGRAM-ID", "PURGE", "QUEUE", "QUOTE",
			"QUOTES", "RANDOM", "RD", "READ", "RECEIVE", "RECORD", "RECORDS", "REDEFINES", "REEL", "REFERENCE",
			"REFERENCES", "RELATIVE", "RELEASE", "REMAINDER", "REMOVAL", "RENAMES", "REPLACE", "REPLACING", "REPORT",
			"REPORTING", "REPORTS", "RERUN", "RESERVE", "RESET", "RETURN", "REVERSED", "REWIND", "REWRITE", "RF", "RH",
			"RIGHT", "ROUNDED", "RUN", "SAME", "SD", "SEARCH", "SECTION", "SECURITY", "SEGMENT", "SEGMENT-LIMIT",
			"SELECT", "SEND", "SENTENCE", "SEPARATE", "SEQUENCE", "SEQUENTIAL", "SET", "SIGN", "SIZE", "SORT",
			"SORT-MERGE", "SOURCE", "SOURCE-COMPUTER", "SPACE", "SPACES", "SPECIAL-NAMES", "STANDARD", "STANDARD-1",
			"STANDARD-2", "START", "STATUS", "STOP", "STRING", "SUB-QUEUE-1", "SUB-QUEUE-2", "SUB-QUEUE-3", "SUBTRACT",
			"SUM", "SUPPRESS", "SYMBOLIC", "SYNC", "SYNCHRONIZED", "TABLE", "TALLYING", "TAPE", "TERMINAL",
			"TERMINATE", "TEST", "TEXT", "THAN", "THEN", "THROUGH", "THRU", "TIME", "TIMES", "TO", "TOP", "TRAILING",
			"TRUE", "TYPE", "UNIT", "UNSTRING", "UNTIL", "UP", "UPON", "USAGE", "USE", "USING", "VALUE", "VALUES",
			"VARYING", "WHEN", "WITH", "WORDS", "WORKING-STORAGE", "WRITE", "ZERO", "ZEROES", "ZEROS", };
}
